home *** CD-ROM | disk | FTP | other *** search
/ Clickx 47 / Clickx 47.iso / assets / software / Miro_Installer.exe / xulrunner / python / prefs.py < prev    next >
Encoding:
Python Source  |  2008-01-10  |  10.5 KB  |  199 lines

  1. # Miro - an RSS based video player application
  2. # Copyright (C) 2005-2007 Participatory Culture Foundation
  3. #
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2 of the License, or
  7. # (at your option) any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program; if not, write to the Free Software
  16. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  17.  
  18. import os
  19. import util
  20.  
  21. class Pref:
  22.     def __init__(self, **kwds):
  23.         self.__dict__.update(kwds)
  24.  
  25.     def __eq__(self, other):
  26.         return self.key == other.key
  27.     def __ne__(self, other):
  28.         return self.key != other.key
  29.  
  30. # These are normal user preferences.
  31. MAIN_WINDOW_FRAME           = Pref( key='mainWindowFrame',       default=None,  platformSpecific=False )
  32. LEFT_VIEW_SIZE              = Pref( key='leftViewSize',          default=None,  platformSpecific=False )
  33. RIGHT_VIEW_SIZE             = Pref( key='rightViewSize',         default=None,  platformSpecific=False )
  34. RUN_DTV_AT_STARTUP          = Pref( key='runAtStartup',          default=False, platformSpecific=False )
  35. CHECK_CHANNELS_EVERY_X_MN   = Pref( key='checkChannelsEveryXMn', default=60,    platformSpecific=False )
  36. LIMIT_UPSTREAM              = Pref( key='limitUpstream',         default=False, platformSpecific=False )
  37. UPSTREAM_LIMIT_IN_KBS       = Pref( key='upstreamLimitInKBS',    default=12,    platformSpecific=False )
  38. UPSTREAM_TORRENT_LIMIT      = Pref( key='upstreamTorrentLimit',  default=10,    platformSpecific=False )
  39. LIMIT_DOWNSTREAM_BT         = Pref( key='limitDownstreamBT',     default=False, platformSpecific=False )
  40. DOWNSTREAM_BT_LIMIT_IN_KBS  = Pref( key='downstreamBTLimitInKBS',default=200,   platformSpecific=False )
  41. PRESERVE_DISK_SPACE         = Pref( key='preserveDiskSpace',     default=True,  platformSpecific=False )
  42. PRESERVE_X_GB_FREE          = Pref( key='preserveXGBFree',       default=0.2,   platformSpecific=False )
  43. EXPIRE_AFTER_X_DAYS         = Pref( key='expireAfterXDays',      default=6,     platformSpecific=False )
  44. DOWNLOADS_TARGET            = Pref( key='DownloadsTarget',       default=8,     platformSpecific=False )
  45. TORRENT_DOWNLOADS_TARGET    = Pref( key='TorrentDownloadsTarget',default=3,     platformSpecific=False )
  46. MAX_MANUAL_DOWNLOADS        = Pref( key='MaxManualDownloads',    default=10,    platformSpecific=False )
  47. VOLUME_LEVEL                = Pref( key='VolumeLevel',           default=1.0,   platformSpecific=False )
  48. BT_MIN_PORT                 = Pref( key='BitTorrentMinPort',     default=8500,  platformSpecific=False )
  49. BT_MAX_PORT                 = Pref( key='BitTorrentMaxPort',     default=8600,  platformSpecific=False )
  50. UPLOAD_RATIO                = Pref( key='uploadRatio',           default=2.0,   platformSpecific=False )
  51. STARTUP_TASKS_DONE          = Pref( key='startupTasksDone',      default=False, platformSpecific=False )
  52. SINGLE_VIDEO_PLAYBACK_MODE  = Pref( key='singleVideoPlaybackMode',default=False,platformSpecific=False )
  53. RESUME_VIDEOS_MODE          = Pref( key='resumeVideosMode',      default=True,  platformSpecific=False )
  54. WARN_IF_DOWNLOADING_ON_QUIT = Pref( key='warnIfDownloadingOnQuit',default=True, platformSpecific=False )
  55. TRUNCATE_CHANNEL_AFTER_X_ITEMS = Pref( key='TruncateChannelAFterXItems',  default=1000, platformSpecific=False)
  56. USE_UPNP                    = Pref( key='useUpnp',               default=True,  platformSpecific=False )
  57. BT_ENC_REQ                  = Pref( key='BitTorrentEncReq',      default=False, platformSpecific=False )
  58.  
  59. # This doesn't need to be defined on the platform, but it can be overridden there if the platform wants to.
  60. SHOW_ERROR_DIALOG           = Pref( key='showErrorDialog',       default=True,  platformSpecific=True )
  61.  
  62. # Only used on particular platforms.
  63. XINE_VIZ                    = Pref( key="xineViz",               default=u"goom",platformSpecific=False )
  64.  
  65. # These can be safely ignored on non-GTK systems
  66. USE_XINE_XV_HACK  = Pref(key="UseXineXVHack", default=True, platformSpecific=False)
  67. DEFAULT_XINE_DRIVER  = Pref(key="DefaultXineDriver", default="xv", platformSpecific=False)
  68.  
  69.  
  70. # These have a hardcoded default which can be overridden by setting an
  71. # environment variable.
  72.  
  73. if 'DTV_CHANNELGUIDE_URL' in os.environ:
  74.     effectiveChannelGuide = util.unicodify(os.environ['DTV_CHANNELGUIDE_URL'])
  75. else:
  76.     effectiveChannelGuide = u'https://www.miroguide.com/'
  77.  
  78. if 'DTV_CHANNELGUIDE_FIRST_TIME_URL' in os.environ:
  79.     effectiveChannelGuideFirstTime = util.unicodify(os.environ['DTV_CHANNELGUIDE_FIRST_TIME_URL'])
  80. else:
  81.     effectiveChannelGuideFirstTime = u'https://www.miroguide.com/firsttime'
  82.  
  83. if 'DTV_VIDEOBOMB_URL' in os.environ:
  84.     effectiveVideobomb = util.unicodify(os.environ['DTV_VIDEOBOMB_URL'])
  85. else:
  86.     effectiveVideobomb = u'http://www.videobomb.com/api/submit_or_bomb'
  87.  
  88. if 'DTV_AUTOUPDATE_URL' in os.environ:
  89.     effectiveAutoupdate = util.unicodify(os.environ['DTV_AUTOUPDATE_URL'])
  90. else:
  91.     effectiveAutoupdate = u'http://www.participatoryculture.org/democracy-appcast.xml'
  92.  
  93. CHANNEL_GUIDE_URL = Pref(key='ChannelGuideURL', default=effectiveChannelGuide,
  94.                          platformSpecific=False)
  95. CHANNEL_GUIDE_FIRST_TIME_URL = Pref(key='ChannelGuideFirstTimeURL', default=effectiveChannelGuideFirstTime,
  96.                          platformSpecific=False)
  97. CHANNEL_GUIDE_ALLOWED_URLS = Pref(key='ChannelGuideAllowedURLs', default='',
  98.                                   platformSpecific=False)
  99. ADDITIONAL_CHANNEL_GUIDES = Pref(key='additionalChannelGuides', default='',
  100.                                   platformSpecific=False)
  101. VIDEOBOMB_URL     = Pref(key='VideobombURL',    default=effectiveVideobomb,
  102.                          platformSpecific=False)
  103. AUTOUPDATE_URL    = Pref(key='AutoupdateURL',   default=effectiveAutoupdate,
  104.                          platformSpecific=False)
  105. DONATE_URL        = Pref(key='DonateURL', default=u"http://www.getdemocracy.com/donate/",
  106.                          platformSpecific=False)
  107. HELP_URL          = Pref(key='HelpURL', default=u"http://www.getdemocracy.com/help/",
  108.                          platformSpecific=False)
  109. BUG_REPORT_URL    = Pref(key='ReportURL', default=u"http://www.getmiro.com/bug.html",
  110.                          platformSpecific=False)
  111. # These can be safely ignored on platforms without minimize to tray
  112. MINIMIZE_TO_TRAY = \
  113.     Pref(key='MinimizeToTray',   default=True, platformSpecific=False)
  114. MINIMIZE_TO_TRAY_ASK_ON_CLOSE = \
  115.     Pref(key='MinimizeToTrayAskOnClose', default=True, platformSpecific=False)
  116.  
  117. # These are computed by special platform code.
  118. RUN_AT_STARTUP     = Pref( key='RunAtStartup',  default=False,  platformSpecific=True )
  119. MOVIES_DIRECTORY = \
  120.     Pref(key='MoviesDirectory',  default=None, platformSpecific=True)
  121. NON_VIDEO_DIRECTORY = \
  122.     Pref(key='NonVideoDirectory',  default=None, platformSpecific=True)
  123. SUPPORT_DIRECTORY = \
  124.     Pref(key='SupportDirectory', default=None, platformSpecific=True)
  125. THEME_DIRECTORY = \
  126.     Pref(key='ThemeDirectory', default=None, platformSpecific=True)
  127. ICON_CACHE_DIRECTORY = \
  128.     Pref(key='IconCacheDirectory', default=None, platformSpecific=True)
  129. DB_PATHNAME = \
  130.     Pref(key='DBPathname',       default=None, platformSpecific=True)
  131. BSDDB_PATHNAME = \
  132.     Pref(key='BSDDBPathname',    default=None, platformSpecific=True)
  133. SQLITE_PATHNAME = \
  134.     Pref(key='SQLLitePathname',    default=None, platformSpecific=True)
  135. LOG_PATHNAME = \
  136.     Pref(key='LogPathname',      default=None, platformSpecific=True)
  137. DOWNLOADER_LOG_PATHNAME = \
  138.     Pref(key='DownloaderLogPathname', default=None, platformSpecific=True)
  139. GETTEXT_PATHNAME = \
  140.     Pref(key='GetTextPathname', default=None, platformSpecific=True)
  141. HTTP_PROXY_SCHEME = \
  142.     Pref(key='HttpProxyScheme', default='http', platformSpecific=True)
  143. HTTP_PROXY_ACTIVE = \
  144.     Pref(key='HttpProxyActive', default=False, platformSpecific=True)
  145. HTTP_PROXY_HOST = \
  146.     Pref(key='HttpProxyHost',   default=u"", platformSpecific=True)
  147. HTTP_PROXY_PORT = \
  148.     Pref(key='HttpProxyPort',   default=80, platformSpecific=True)
  149. HTTP_PROXY_IGNORE_HOSTS = \
  150.     Pref(key='HttpProxyIgnoreHosts', default=[], platformSpecific=True)
  151. HTTP_PROXY_AUTHORIZATION_ACTIVE = \
  152.     Pref(key='HttpProxyAuthorizationActive', default=False, platformSpecific=True)
  153. HTTP_PROXY_AUTHORIZATION_USERNAME = \
  154.     Pref(key='HttpProxyAuthorizationUsername',   default=u"", platformSpecific=True)
  155. HTTP_PROXY_AUTHORIZATION_PASSWORD = \
  156.     Pref(key='HttpProxyAuthorizationPassword',   default=u"", platformSpecific=True)
  157.  
  158. # These are normally read from resources/app.config.
  159. SHORT_APP_NAME = \
  160.     Pref(key='shortAppName',      default=None, platformSpecific=False)
  161. LONG_APP_NAME = \
  162.     Pref(key='longAppName',       default=None, platformSpecific=False)
  163. PROJECT_URL = \
  164.     Pref(key='projectURL',        default=None, platformSpecific=False)
  165. HELP_URL = \
  166.     Pref(key='helpURL',           default=None, platformSpecific=False)
  167. RECOMMEND_URL = \
  168.     Pref(key='recommendURL',      default=None, platformSpecific=False)
  169. BUG_TRACKER_URL = \
  170.     Pref(key='bugTrackerURL',      default=None, platformSpecific=False)
  171. PUBLISHER = \
  172.     Pref(key='publisher',         default=None, platformSpecific=False)
  173. APP_VERSION = \
  174.     Pref(key='appVersion',        default=None, platformSpecific=False)
  175. APP_REVISION = \
  176.     Pref(key='appRevision',       default=None, platformSpecific=False)
  177. APP_REVISION_NUM = \
  178.     Pref(key='appRevisionNum',    default=None, platformSpecific=False)
  179. APP_PLATFORM = \
  180.     Pref(key='appPlatform',       default=None, platformSpecific=False)
  181. APP_SERIAL = \
  182.     Pref(key='appSerial-unknown', default=u"0",  platformSpecific=False)
  183. MOZILLA_LIB_PATH = \
  184.     Pref(key='mozillaLibPath',    default=None, platformSpecific=False)
  185. BUILD_MACHINE = \
  186.     Pref(key='buildMachine',      default=None, platformSpecific=False)
  187. BUILD_TIME = \
  188.     Pref(key='buildTime',         default=None, platformSpecific=False)
  189. MAXIMIZE_ON_FIRST_RUN = \
  190.     Pref(key='maximizeOnFirstRun',default=None, platformSpecific=False)
  191. DEFAULT_CHANNELS_FILE = \
  192.     Pref(key='defaultChannelsFile',default=None, platformSpecific=False)
  193. THEME_NAME = \
  194.     Pref(key='themeName',default=None, platformSpecific=False)
  195. OPEN_FOLDER_ON_STARTUP = \
  196.     Pref(key='openFolderOnStartup',default=None, platformSpecific=False)
  197. OPEN_CHANNEL_ON_STARTUP = \
  198.     Pref(key='openChannelOnStartup',default=None, platformSpecific=False)
  199.